/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.IngresoBalanceHidroelectroliticoFisica;
import hibernate.objeto.BalanceHidroelectrolitico;
import hibernate.objeto.IngresoBalanceHidroelectrolitico;
import java.util.Date;
import java.util.Vector;

/**
 *
 * @author Gonzalo
 */
public class IngresoBalanceHidroelectroliticoLogica extends CapaLogica {

    /**
     * Crea y persiste los ingresos de un tratamiento quirurgico.
     *
     * @param datosProfesionalTratamientoQuirurgico Los datos de los
     * ingresos
     *
     * @param balanceHidroelectrolitico  El id del objeto
     * creado para su posterior recuperación
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarIngresoBalanceHidroelectrolitico(
            Object[] datosProfesionalTratamientoQuirurgico,
            BalanceHidroelectrolitico balanceHidroelectrolitico) {
        //Crea el objeto
        IngresoBalanceHidroelectrolitico ingresoBalanceHidroelectrolitico =
                crearObjetoIngresoBalanceHidroelectrolitico(
                datosProfesionalTratamientoQuirurgico);

        ingresoBalanceHidroelectrolitico.setBalanceHidroelectrolitico(
                    balanceHidroelectrolitico);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(ingresoBalanceHidroelectrolitico)) {

            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto EgresoBalanceHidroelectrolitico.
     *
     * @param datosIngresoOEgresoBalanceHidroelectrolitico Los datos de los
     * ingresos
     * las determinaciones
     * @return El objeto creado
     */
    private static IngresoBalanceHidroelectrolitico
            crearObjetoIngresoBalanceHidroelectrolitico(
            Object[] datosIngresoOEgresoBalanceHidroelectrolitico) {

        IngresoBalanceHidroelectrolitico ingresoBalanceHidroelectrolitico =
                new IngresoBalanceHidroelectrolitico();

        ingresoBalanceHidroelectrolitico.setTipoIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_TPO].toString());

        ingresoBalanceHidroelectrolitico.setCantidadIngresoBalanceHidroelectrolitico(
                (Float)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CANTIDAD]);

        ingresoBalanceHidroelectrolitico.setVelocidadIngresoBalanceHidroelectrolitico(
                (Float)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_VELOCIDAD]);
        
        ingresoBalanceHidroelectrolitico.setAlimentacionEnteralIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_ALIMENTACION_ENTERAL].toString());
        
        ingresoBalanceHidroelectrolitico.setAlimentacionEnteralIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_UBICACION].toString());
        
        ingresoBalanceHidroelectrolitico.setHoraColocacionIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_HORA_COLOCACION].toString());
        
        ingresoBalanceHidroelectrolitico.setFechaColocacionIngresoBalanceHidroelectrolitico(
                (Date)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_FECHA_COLOCACION]);
        
        ingresoBalanceHidroelectrolitico.setConclusionesColocacionIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CONCLUSIONES_COLOCACION].toString());
        
        ingresoBalanceHidroelectrolitico.setHoraRemocionIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_HORA_REMOCION].toString());
        
        ingresoBalanceHidroelectrolitico.setFechaRemocionIngresoBalanceHidroelectrolitico(
                (Date)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_FECHA_REMOCION]);
        
        ingresoBalanceHidroelectrolitico.setConclusionesRemocionIngresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CONCLUSIONES_REMOCION].toString());

        return ingresoBalanceHidroelectrolitico;
    }

    /**
     * Retorna un vector de objetos IngresoBalanceHidroelectrolitico
     * según el id del tratamiento.
     *
     * @param idIngresoBalanceHidroelectroliticoFisica El número de documento
     */
    public static Vector<IngresoBalanceHidroelectrolitico>
            getVectorIngresoBalanceHidroelectroliticoPorIdBalanceHidroelectrolitico(
            int idIngresoBalanceHidroelectroliticoFisica) {
        return IngresoBalanceHidroelectroliticoFisica.
                getVectorIngresoBalanceHidroelectroliticoPorIdBalanceHidroelectrolitico(
                idIngresoBalanceHidroelectroliticoFisica);
    }


    /**
     * Retorna el objeto IngresoBalanceHidroelectrolitico según el id.
     *
     * @param idEgresoBalanceHidroelectrolitico
     * @return El objeto EgresoBalanceHidroelectrolitico consultado,
     * null si no existe
     */
    public static IngresoBalanceHidroelectrolitico
            getIngresoBalanceHidroelectroliticoFisicaPorId(
            int idEgresoBalanceHidroelectrolitico) {
        return IngresoBalanceHidroelectroliticoFisica.
                getIngresoBalanceHidroelectroliticoPorId(
                idEgresoBalanceHidroelectrolitico);
    }

    /**
     * Retorna todo el objeto IngresoBalanceHidroelectrolitico en string.
     *
     * @param ingresoBalanceHidroelectrolitico El objeto a escribir
     */
    public static String getIngresoBalanceHidroelectroliticoString(
            IngresoBalanceHidroelectrolitico ingresoBalanceHidroelectrolitico) {
        String ingresoBalanceHidroelectroliticoString =
                "idIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getIdIngresoBalanceHidroelectrolitico() + "\n" +
                "tipoIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getTipoIngresoBalanceHidroelectrolitico() + "\n" +
                "velocidadIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getVelocidadIngresoBalanceHidroelectrolitico() + "\n" +
                "cantidadIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getCantidadIngresoBalanceHidroelectrolitico() + "\n" +
                "alimentacionEnteralIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getAlimentacionEnteralIngresoBalanceHidroelectrolitico() + "\n" +
                "ubicacionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getUbicacionIngresoBalanceHidroelectrolitico() + "\n" +
                "horaColocacionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getHoraColocacionIngresoBalanceHidroelectrolitico() + "\n" +
                "fechaColocacionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getFechaColocacionIngresoBalanceHidroelectrolitico() + "\n" +
                "conclusionesColocacionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getConclusionesColocacionIngresoBalanceHidroelectrolitico() + "\n" +
                "horaRemocionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getHoraRemocionIngresoBalanceHidroelectrolitico() + "\n" +
                "fechaRemocionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getFechaRemocionIngresoBalanceHidroelectrolitico() + "\n" +
                "conclusionesRemocionIngresoBalanceHidroelectrolitico: " +
                ingresoBalanceHidroelectrolitico.getConclusionesRemocionIngresoBalanceHidroelectrolitico() + "\n";

        return ingresoBalanceHidroelectroliticoString;
    }

    /**
     * Retorna todo el objeto IngresoBalanceHidroelectrolitico en HTML.
     *
     * @param ingresoBalanceHidroelectrolitico El objeto a escribir
     */
    public static String getIngresoBalanceHidroelectroliticoHTML(
            IngresoBalanceHidroelectrolitico ingresoBalanceHidroelectrolitico) {
        String ingresoBalanceHidroelectroliticoHTML = "";

        if (ingresoBalanceHidroelectrolitico != null) {
            ingresoBalanceHidroelectroliticoHTML =
                "<font size=\"3\" face=\"arial\" color=\"blue\">INGRESO </font><br><br><hr /><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Tipo:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getTipoIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Velocidad:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getVelocidadIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Cantidad:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getCantidadIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Alimentación enteral:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getAlimentacionEnteralIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Ubicación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getUbicacionIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Fecha colocación: </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getFechaColocacionIngresoBalanceHidroelectrolitico()  + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Hora colocación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getHoraColocacionIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Conclusión colocación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getConclusionesColocacionIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Fecha remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getFechaRemocionIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Hora remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getHoraRemocionIngresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Conclusión remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                ingresoBalanceHidroelectrolitico.getConclusionesRemocionIngresoBalanceHidroelectrolitico() + "</font><br><br>";
        } else {
            ingresoBalanceHidroelectroliticoHTML = "<font size=\"3\" face=\"arial\" color=\"blue\">INGRESO</font><br><br> " +
                    "<hr /><font size=\"3\" face=\"arial\">No posee</font><br></font><hr />";
        }
        
        return ingresoBalanceHidroelectroliticoHTML;
    }

}
